package part21_建造者模式_建房项目.p01_升级;

/**
 * @ClassName: Client
 * @Author: AllenSun
 * @Date: 2020/3/9 23:33
 */
public class Client {
    public static void main(String[] args) {
        System.out.println("====盖普通房子====");

        //盖普通房子，普通房子对象
        CommonHouse commonHouse=new CommonHouse();
        //准备创建房子的指挥者
        HouseDirector houseDirector=new HouseDirector(commonHouse);
        //完成盖房子，返回房子
        House house=houseDirector.constructHouse();

        System.out.println("====盖高楼====");

        //高楼对象
        GoodHouse goodHouse=new GoodHouse();
        //重置建造者
        houseDirector.setHouseBuilder(goodHouse);
        //完成盖房子，返回产品
        houseDirector.constructHouse();
    }
}
